home *** CD-ROM | disk | FTP | other *** search
- OSLib release 4.3
- ----- ------- ---
- * Added dependency of "dragasprite.h" on "osspriteop.h."
-
- * |#Undef|fed each SWI name and SWI reason code before |#define|ing it.
-
- * Removed spurious ')' in comment for OS_SetPalette.
-
- * Changed names of arguments to Wimp_SetIconState.
-
- * SWI Wimp_Extend given the right number (but it's reserved anyway).
-
- * Added os_read_line_given_echo(), os_read_line_suppress_invalid(),
- os_read_line_given_echo_suppress_invalid().
-
- * Changed filetypes, load addrs, exec addrs and attrs to |bits| from |int|
- (to avoid undefined behaviour when shifting bits in and out of load and
- exec addrs). Affects "filecore.h," "filer.h," "fileraction.h,"
- "netfs.h," "osfile.h," "osfscontrol.h," "osgbpb.h," "osmodule.h,"
- "pdriver.h," "resourcefs.h," "squash.h," "wimp.h."
-
- * Corrected osfile_TYPE and osfile_TYPE_SHIFT.
-
- * Changed ColourPicker button types to |bits| from |int|.
-
- * Added OSFile attribute values.
-
- * Do not truncate file names at 10 characters in nested includes (as
- recommended in my own documentation!). Affects "pdriver.h" only.
-
- * Avoid C++ reserved words (asm, template in "os.h," delete in "netfs.h").
-
- * Remove accidentally duplicated parameter names ("dosfs.h,"
- "filecore.h," "font.h," "osspriteop.h," "pdriver.h," "ramfs.h,"
- "sharedclibrary.h") to avoid GCC errors.
-
- * Added flags values for osspriteop_set_pointer_shape().
-
- * Output argument of wimpreadsysinfo_tool_sprites() corrected (was
- |osspriteop_area *|, should be |osspriteop_area **|).
-
- * Various changes to ReadMe, including description of "abstract types."
-
- * Changed definition of |os_date_and_time| from
-
- typdef struct {byte b [5];} os_date_and_time;
-
- to
-
- typedef byte os_date_and_time [5];
-
- and the same for |netfs_date_and_time|. This may break code, but it is
- necessary to ensure that the alignment of structures that use it (e g,
- |osgbpb_system_info|) are correct in Norcroft C (which aligns
- structures, but not arrays, to word boundaries).
-
- * Added chip-type symbols to "osreadsysinfo.h."
-
- * Fixed minor typos in "devicefs.h," "netfs.h," "osfscontrol.h."
-
- * Added CMOS byte numbers for current year and alarm flags ("osbyte.h")
- and also recoded the macros in there to make it totally complete and
- consistent for all CMOS locations.
-
- OSLib release 4.2
- ----- ------- ---
- * Fixed bug in ADFS_DiscOp, FileCore_DiscOp, RamFS_DiscOp: first argument
- was being passed in R0, not R1.
-
- * Provided 3 functions for Territory_ReadSymbols, so you can call the right
- one for the type of result expected.
-
- * Changed the tag used for "abstract" typedefs so that it is different from
- the typedef name, for better interworking with GCC and C++ systems. Affects
- "buffer.h," "colourpicker.h," "devicefs.h," "dma.h," "econet.h," "os.h,"
- "osfscontrol.h," "osspriteop.h," "wimp.h."
-
- * Added wimp_CLOSE_MENU (to be used as an argument to wimp_create_menu())
- and wimp_NO_FONTS (to be used as an argument to wimp_load_template()) to
- "wimp.h."
-
- * Fixed bug in Filer_MessageOpenDirAt: display field was bits, not byte.
-
- OSLib release 4.1
- ----- ------- ---
- * Wimpreadsysinfo_wimp_mode() returns |os_mode| rather than |int|.
-
- * Fix bug: some byte-wide entities were being written as whole words. This
- affects: xcolourtrans_return_gcol(), xcolourtrans_set_gcol(), xcolourtrans_-
- return_gcol_for_mode(), xcolourtrans_return_opp_gcol(), xcolourtrans_set_-
- opp_gcol(), xcolourtrans_return_opp_gcol_for_mode(), xcolourtrans_colour_-
- number_to_gcol(), xcolourtrans_set_text_colour(), xcolourtrans_set_opp_-
- text_colour(), xfont_find_font(), xfont_current_font(), font_current_-
- font(), xfont_future_font(), font_future_font(), xfont_current_rgb(), xfont_-
- future_rgb(), xos_read_point(), os_read_point(), xos_change_redirection(),
- os_change_redirection(), xosfind_openin(), xosfind_openout(), xosfind_-
- openup(), xosspriteop_read_pixel_colour(), osspriteop_read_pixel_colour(),
- xpdriver_select_job(), xpdriver_current_job(), xpdriver_select_-
- illustration(), xwimpreadsysinfo_font(), wimpreadsysinfo_font(),
- xwimpspriteop_read_pixel_colour(), wimpspriteop_read_pixel_colour().
-
- * Add note to ReadMe file about using NULL pointers as output arguments.
-
- * Duplicate NOP macro deleted from Hdr.Types.
-
- * Added OS_VartypeLiteralString, os_VARTYPE_LITERAL_STRING to OS headers.
-
- * Corrected Wimp error numbers (most were 1 off), added Error_WimpBadSlot,
- Error_WimpBadConfFont, Error_WimpNoSprites, Error_WimpBadPalFile2,
- Error_WimpBadSprites from RO 3.5, and 2 now-obsolete numbers (too many
- windows, division by 0).
-
- OSLib release 4
- ----- ------- -
- * Second public release
-
- * Changed 'allpication' to 'application' in os.h (!).
-
- * Os_change_environment() now returns the old handler.
-
- * Error_SQUASH_BADPARAMETERS gains an underscore.
-
- * In osmodule.h, "context" arguments given more meaningful names
- (|module_no|, |instance_no|). Various osmodule_enumerate() calls return
- |module_no_out| as the result.
-
- * Added help files for StrongHelp, available on F1 in StrongEd (by
- default), and also in Zap C Mode if you bind MJE_HELPCONTEXT to F1 in the
- keys file.
-
- * Added OS_PlotVDU, changed argument types of OS_ChangeRedirection.
-
- * Fix bug: size of unions was being specified as 0 in assembler headers.
-
- * Added stuff about "types.h" in ReadMe.
-
- * Restructured: OSLib now contains only ChangeLog, ReadMe, h, Hdr and o.
- Separate archives contain Examples (PRM example code in C), CStrong
- (StrongHelp for the C interface) and CHelp (SrcEdit help for the C
- interface). A future release will contain AsmStrong and AsmHelp (for the
- assembler interface).
-
- OSLib release 3
- ----- ------- -
-
- * Provide ReadMe and this file with the release.
-
- * Added descriptive text to each function.
-
- * "Abstract" types supported: used for Wimp_W, Wimp_T, Econet_RxCB,
- Econet_TxCB, etc.
-
- * IIC_Control, OS_Byte, OS_ClaimScreenMemory, Wimp_ClaimFreeMemory now
- classified as "reason codes."
-
- * Incorporated suggestions from Jonathan Roach for filecore.h.
-
- * Fix bug: bad code generated for Font_CacheAddr, Font_ReadDefn,
- Font_ReadScaleFactor, OSFSControl_ReadFileType, PDriver_PageSize,
- WimpSpriteOp_ReadPaletteSize and WimpSpriteOp_ReadSpriteSize.
-
- * Use |void| (instead of |byte|) for generic pointers, where appropriate.
-
- * Added more error numbers.
-
- * Renamed International as ServiceInternational.
-
- * Upgrade to RISC OS 3.5.
-
- * Added more message types to filer.h.
-
- * If there is a reasonable |context_out| argument, return it from the non-X
- form.
-
- * Moved "main" SWI's to their own headers (OS_Byte to osbyte.h, etc), InsV,
- RemV, CnpV to Buffer.
-
- * Sorted all OS SWI's into one of these groups: the CLI; communications;
- conversions; the environment; errors; input; interrupts; memory management;
- output; time and date; VDU drivers; vectors; and the rest of the kernel.
- Maybe os.h, which is somewhat monolithic, should be split up along these
- lines?
-
- * Added RemV, CnpV, but not properly yet.
-
- OSLib release 2
- ----- ------- -
-
- * Now complete. All calls up to RISC OS 3.10 are included. (Medusa
- extensions will have to wait until the next release.)
-
- * In the header files, registers which are assigned fixed values in a
- function veneer (e g, reason codes) are listed in an 'Other notes'
- paragraph.
-
- * The section header (e g, for 'Constant definitions,' etc) is absent if the
- section is absent. The section headers are more eye-catching. (Suggested by
- James Bye.)
-
- * More SWI's return results in their non-X form.
-
- * Result registers are no longer in the argument list. In the previous
- OSLib, the prototype for |osmodule_alloc()| (which allocates memory from the
- R M A) was
-
- void osmodule_alloc (int size, byte **ptr);
-
- now it is
-
- byte *osmodule_alloc (int size);
-
- Also: OSFile functions return the object type; functions that create an
- object or open a file return the handle; SWI's that do a read operation
- return the flags, so you can write
-
- while ((os_bget (f, &c) & _C) == 0)
- { ... code to do something with character |c| ...;
- }
- ... now at end of file ...;
-
- Econet SWI's return the control block created, or the status of the operation
- performed; WIMP and PDriver SWI's that are called to loop through rectangles
- return the continuation status, so you can write a redraw loop as
-
- for (more = wimp_redraw_window (&r); more;
- more = wimp_get_rectangle (&r))
- { ... redraw code here ...;
- }
-
- * More consistent terminology: SWI's that fill buffers have two arguments,
- usually called |buffer| and |size|, and may return one of: a pointer to the
- next free byte (always called |end|); a number of bytes written (called
- |used|); or a count of buffer bytes not used (called |spare|). More
- consistency could only be derived by changing the OS, or doing some bizarre
- things in the veneer.
-
- * More of the module interface described: vectors, upcalls and events
- added, with prefix |os_...v|, |upcall_| and |event_| respectively. Error
- prefix changed to |error_|. Message prefix still |message_|, service call
- prefix |service_|. All other symbols defined in a module begin with the
- module prefix. Service calls and all the above now at the end. (These are
- only provided from the implementor's side, as it were: functions to generate
- the event, call the vector, make the service call, rather than to act on the
- event, claim the vector, or catch the service call.)
-
- * In the header files, C syntax is used for hexadecimal in comments.
-
- * In the header files, brackets removed from pointer declarations.
- (Suggested by James Bye.)
-
- * Spurious blank lines removed from header files.
-
- * To get -1 into a register Rx, used to generate the stupid MOV Rx, #&FF:
- ORR Rx, Rx, #&FF00: ORR Rx, Rx, #&FF0000: ORR Rx, Rx, #&FF00000. Now
- generates MVN Rx, #0 instead, and similarly for similar constants.
-
- * Assumes that a non-X SWI will never be called in SVC mode. This means that
- LR is preserved over the SWI instruction and reduces quite a lot of veneers
- to 2 instructions.
-
- * Uses that fact that registers not corrupted or returned by the SWI are
- preserved, to avoid stacking output addresses where possible. This also
- reduces the lengths and memory accesses of a lot of veneers. (Suggested by
- James Bye.)
-
- * OSFind changed: instead of (e g)
-
- xosfind_openout_path (flags, file_name, path, file);
-
- use
-
- xosfind_openout (osfind_PATH | flags, file_name, path, file);
-
- In other words, the choice between {default path, no path, given path, path
- variable} is moved from the function name to the flags argument. (Suggested
- by Ian Johnson) Sadly, this cannot be done with the OSFile SWI's, because
- they are not related in a systematic way.
-
- * One library (o.OSLib) instead of lots. (Suggested by Kevin Welton.)
-
- * All code examples from the PRM (except volume 4) included in C versions.
-
- OSLib release 1
- ----- ------- -
-
- * Name changed from SWILib. DefMod written to provide an automatic
- translator and veneer generator from module definition files.
-
- * Macros changed to functions. Original macro SWILib now only used to make
- DefMod (without this, you would have a circular build process with nowhere to
- start).
-
- * Many extra SWI's covered.
-
- * Wimp_Message structures now divided into two sorts: "system messages", in
- the union Wimp_Message, and others which may be provided by other modules
- (the WIMP also provides some of these).
-
- * X and non-X forms provided.
-
- * OS_F, Font_F instead of OS_Handle, Font_Handle.
-